package com.dys.listener;

import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;

/**
 * @Author: 疾风
 * @ClassName: MySessionBindingListener
 * @Description: 可以监听具体的某个session对象的事件的
 * HttpSessionListener 只要在web.xml中配置或者通过@WebListener注解就可以注册监听所有的Session对象
 * HttpSessionBindingListener 必须要通过setAttribute方法和某个session对象绑定之后,监听单独的某个Session对象
 * @CreateDate: 2024/09/25
 * @Version: v1.0.0
 */
public class MySessionBindingListener implements HttpSessionBindingListener {
    /**
     * 绑定的方法
     *
     * @param event
     */
    @Override
    public void valueBound(HttpSessionBindingEvent event) {
        System.out.println("监听器和某个session对象绑定了");
    }

    /**
     * 解除绑定方法:
     * 1. session.invalidate(); 让session不可用
     * 2. session到达最大不活动时间,session对象回收
     * 3. session.removeAttribute("mySessionBindingListener");手动解除绑定
     *
     * @param event
     */
    @Override
    public void valueUnbound(HttpSessionBindingEvent event) {
        System.out.println("监听器和某个session对象解除绑定了");
    }
}
